package io.bluerain.g4_tools.utils;

import android.os.Environment;

import java.io.File;

/**
 * Created by foredawn on 15-9-14.
 * File相关工具类
 */
public class FileUtils {

    /**
     * 创建文件夹
     *
     * @param path 绝对路径名
     * @param del  存在是否删除
     * @return 绝对路径
     */
    public static String createDir(String path, boolean... del) {
        File dir = new File(path);
        if (dir.exists()) {
            if (del != null && del.length > 0 && del[0]) //如果要删除文件夹
                deleteDir(dir);
        }
        if (!dir.exists()) {
            dir.mkdir();
        }

        return dir.getPath();
    }

    /**
     * 创建SD卡文件夹
     *
     * @param dirStr 目录名
     * @param del    存在是否删除
     * @return 绝对路径名
     */
    public static String createDirOnSDCard(String dirStr, boolean... del) {
        File sd = Environment.getExternalStorageDirectory();
        String path = sd.getPath() + "/" + dirStr;
        return createDir(path, del);
    }

    public static void deleteDir(File dir) {
        if (dir == null || !dir.exists() || !dir.isDirectory())
            return;
        if (dir.listFiles() != null) {
            for (File file : dir.listFiles()) {
                if (file.isFile())
                    file.delete(); // 删除所有文件
                else if (file.isDirectory())
                    deleteDir(file); // 递规的方式删除文件夹
            }
        }
        dir.delete();// 删除目录本身
    }
}
